import time

from selenium.webdriver.common.by import By

from base.base_page import AdminBasePage


class AddShoppingcarPage(AdminBasePage):
    # 实例属性-管理操作步骤在该页面中所应用到元素定位信息
    def __init__(self):
        # 通过调用super().__init__()，可以确保父类的初始化逻辑被正确执行，然后再添加子类特定的初始化逻辑。
        super().__init__()
        # 商品图片链接
        self.goods = (By.XPATH, "/html/body/div[4]/div[2]/div/div[1]/div/div[6]/a")
        # 商品名称
        self.name = (By.XPATH, "/html/body/div[4]/div[2]/div/div[1]/div/div[6]/a/p[1]")
        self.reg = self.find_el(self.name).get_attribute("textContent")

        # 地址


        # 版本
        self.version = (By.ID, "goods_spec_a_10")
        # 颜色
        self.color = (By.ID, "goods_spec_a_12")
        # 套餐类型
        self.data_plan = (By.ID, "goods_spec_a_17")
        # 数量
        self.number =(By.XPATH,"//*[@id='buy_goods_form']/div/div[8]/ul/li[2]/div[1]/a[2]")
        # self.number = (By.ID, "number")
        # 加入购物车按钮
        self.button = (By.ID, "join_cart")


    # 实例方法(业务操作层)-封装测试用例在该页面的操作步骤
    def add_cart_page(self):
        # 点击商品进入商品详情页
        self.find_el(self.goods).click()
        # 选择地址

        # 选择版本
        self.find_el(self.version).click()
        # 选择颜色
        self.find_el(self.color).click()
        # 选择套餐类型
        self.find_el(self.data_plan).click()
        time.sleep(2)
        # 输入要加入的数量
        self.find_el(self.number).click()
        # self.input_text(self.find_el(self.number), 2)
        time.sleep(2)
        # 点击加入购物车按钮
        self.find_el(self.button).click()
